﻿using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WarehouseManagement.Domain.DTO.ShipApply
{
    public class AddShipApplyDTO
    {
        /// <summary>
        /// 发货申请id
        /// </summary>
        public int ShippRequestAppId { get; set; }

        /// <summary>
        /// 单据编号
        /// </summary>
        public string? SRANumber { get; set; }
        /// <summary>
        /// //发货主题
        /// </summary>
        public string? SPRTopic { get; set; }

        /// <summary>
        /// 应发日期
        /// </summary>
        public DateTime? SRADueDate { get; set; }

        /// <summary>
        /// 申请人
        /// </summary>
        public string? SRAApplicant { get; set; }
        /// <summary>
        /// 发货类型
        /// </summary>
        public int? ShipType { get; set; }
        /// <summary>
        /// 采购退货
        /// </summary>
        public int? ReturnProductId { get; set; }
        /// <summary>
        /// 销售合同明细表id
        /// </summary>
        public int? SaleContractProductId { get; set; }
        /// <summary>
        /// 客户id
        /// </summary>
        public int? ClientId { get; set; }
        /// <summary>
        /// 供应商id
        /// </summary>
        public int? VendorId { get; set; }
        /// <summary>
        /// 客户或者供应商名称
        /// </summary>
        public string? Name { get; set; }

        /// <summary>
        /// 收货人
        /// </summary>
        public string? SRAReceivPeople { get; set; }


        /// <summary>
        /// 收货地址
        /// </summary>
        public string? SRAReceivAddress { get; set; }

        /// <summary>
        /// 联系电话
        /// </summary>
        public string? SRAReceivePhone { get; set; }

        // <summary>
        /// 人员档案id
        /// </summary>
        public int? ManpowerId { get; set; }

        // <summary>
        /// 发货人
        /// </summary>
        public string? SRAConsigner { get; set; }

        // <summary>
        /// 交货日期
        /// </summary>
        public DateTime? SRADeliveryDate { get; set; }

        // <summary>
        /// 发货方式
        /// </summary>
        public string? SRAShipmentsType { get; set; }

        // <summary>
        /// 快递公司
        /// </summary>
        public string? SRACourierCompanie { get; set; }

        // <summary>
        /// 快递单号
        /// </summary>
        public string? SRATrackingNumber { get; set; }

        // <summary>
        /// 快递费用
        /// </summary>
        public decimal? SRACourierCharges { get; set; }

        // <summary>
        /// 备注
        /// </summary>
        public string? SRARemark { get; set; }
        /// <summary>
        /// 添加人姓名
        /// </summary>
        public string? AddName { get; set; }

        /// <summary>
        /// 添加时间
        /// </summary>
        public DateTime? AddTime { get; set; }
        /// <summary>
        /// 公司id
        /// </summary>
        public string? Office_Id { get; set; }

        /// <summary>
        /// 用户id
        /// </summary>
        public int? User_Id { get; set; }

        public List<AddShipApplyDetailDTO> detail { get; set; }
    }

    public class AddShipApplyDetailDTO
    {
        /// <summary>
        /// 发货申请关联产品ID
        /// </summary>
        public int ShipProductAppId { get; set; }

        /// <summary>
        /// 发货申请id
        /// </summary>
        public string? SRANumber { get; set; }

        /// <summary>
        /// 产品id
        /// </summary>
        public int? ProductId { get; set; }
        /// <summary>
        /// 产品名称
        /// </summary>
        /// 
        [SugarColumn(ColumnDataType = "Nvarchar(50)")]//设计长度
        public string? PName { get; set; }
        /// <summary>
        /// 产品编号
        /// </summary>
        [SugarColumn(ColumnDataType = "Nvarchar(50)")]//设计长度
        public string? PNumber { get; set; }
        /// <summary>
        /// <summary>
        /// 规格型号
        /// </summary>
        /// 
        [SugarColumn(ColumnDataType = "Nvarchar(50)")]//设计长度
        public string? PSpec { get; set; }
        /// <summary>
        /// 单位
        /// </summary>
        /// 
        [SugarColumn(ColumnDataType = "Nvarchar(50)")]//设计长度
        public string? PUnit { get; set; }
        /// <summary>
        /// 产品数量
        /// </summary>
        public int ProNum { get; set; }

        /// <summary>
        /// 包装方式
        /// </summary>
        public string? PackMethod { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string? Remark { get; set; }
        /// <summary>
        /// 添加人姓名
        /// </summary>
        public string? AddName { get; set; }

        /// <summary>
        /// 添加时间
        /// </summary>
        public DateTime? AddTime { get; set; }
        /// <summary>
        /// 公司id
        /// </summary>
        public string? Office_Id { get; set; }

        /// <summary>
        /// 用户id
        /// </summary>
        public int? User_Id { get; set; }
    }
}
